Digital watermarking is a process for modifying media content to embed a machine-readable code into the data content. The data may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process. Most commonly, digital watermarking is applied to media such as images, audio signals, and video signals. However, it may also be applied to other types of data, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects.
Digital watermarking systems have two primary components: an embedding component that embeds the watermark in the media content, and a reading component that detects and reads the embedded watermark. The embedding component embeds a watermark pattern by altering data samples of the media content. The reading component analyzes content to detect whether a watermark pattern is present. In applications where the watermark encodes information, the reader extracts this information from the detected watermark.
One challenge to the developers of watermark embedding and reading systems is to ensure that the watermark is detectable even if the watermarked media content is corrupted in some fashion. The watermark may be corrupted intentionally, so as to bypass its copy protection or anti-counterfeiting functions, or unintentionally through various transformations that result from routine manipulation of the content. In the case of watermarked images, such manipulation of the image may distort the watermark pattern embedded in the image.
The watermark embedder can improve detectability by increasing the strength of the watermark signal. However, as the strength of the signal increases, it tends to become more noticeable. Thus, there is a trade-off between making the watermark detectable by the decoder, yet imperceptible during playback or display of the media content.
The disclosure describes methods for classifying data samples in watermarked media to enhance watermark detection and reading operations. One aspect of the disclosure is a method for reading a digital watermark in a media signal. The method uses a programmed computer or special purpose hardware to assign sets of media signal samples into classes, compute statistical characteristics of the media samples for the classes, and uses the statistical characteristics to adapt a digital watermark decoding function used to detect or read a watermark in the media.
There are a variety of ways to classify samples of a signal. In general, the classification method classifies samples based on a signal characteristic or attribute such as signal activity or energy. Such signal characteristics may be evaluated by grouping samples into sets, computing the characteristic for each set, and then assigning the sets to classes based on their characteristics.
The method applies to different types of media signals, including audio and image signals. The media signal samples may be expressed in a spatial, temporal, or frequency domain, or in some other transform domain. For example, the samples may be frequency coefficients or some form of transform coefficients, such as subband and Discrete Cosine Transform (DCT) coefficients.
In one implementation, the method uses characteristics of the statistical distributions of the classes to assign a figure of merit to samples in the classes. In particular, it uses distribution parameters of a class as figures of merit for samples of that class. The figure of merit indicates the likelihood that a sample includes a recoverable or valid portion of a watermark signal. A watermark decoder uses the figure of merit in a read operation to calculate the value of symbols in a watermark payload. The figure of merit may be used to assign a weight to a sample in a class indicating an extent to which the sample is likely to reflect valid watermark data.
Another aspect of the disclosure is a method for reading a digital watermark in an image. The method assigns transformed samples of the media signal into classes using characteristics computed from the samples to group the samples into the classes, computes statistical characteristics of the samples in each of the classes to compute a statistical feature of each of the classes, and uses the statistical feature to compute a detection metric to decode a watermark from the samples.
Another aspect of the disclosure is a method for reading a digital watermark in a watermarked signal. This method assigns samples of the watermarked signal into classes using characteristics computed from the samples to group the samples into the classes, computes a statistical analysis of the samples in each of the classes, and uses the statistical analysis to compute a decoding function for decoding a watermark from the watermarked signal.
Yet another aspect of the disclosure is a method for estimating a watermark signal from a media signal suspected of containing the watermark signal. This method assigns samples of the suspect signal into classes based on a signal characteristic of the samples, calculates statistical characteristics of the classes, and estimates the watermark signal based on the suspect signal, the statistical characteristics of the classes, and a characteristic of the watermark signal.
Additional features and advantages of the invention will become apparent with reference to the following detailed description and accompanying drawings.